#ifndef _SYS_UNRESOLVED_ERR_H_
#define _SYS_UNRESOLVED_ERR_H_

#include "Err.h"
#include "SysTypes.h"

#define UNRESOLVED_ERR_VTABLE(self)   ((UnresolvedErrVTable*)((FanObj*)self)->vtable)


extern Type*    UnresolvedErr_classType;
extern VTable*  UnresolvedErr_classVTable;


/* [sys::UnresolvedErr] Attributes */
struct UnresolvedErr
{
  Err           super;
};


/* [sys::UnresolvedErr] Virtual-table */
typedef struct UnresolvedErrVTable
{
  ErrVTable     super;
} UnresolvedErrVTable;


/* [sys::UnresolvedErr] Methods and fields */
void            UnresolvedErr_make_0(UnresolvedErr* self);
void            UnresolvedErr_make_1(UnresolvedErr* self, Str* msg);
void            UnresolvedErr_make(UnresolvedErr* self, Str* msg, Err* cause);


/* [sys::UnresolvedErr] Extra methods */
UnresolvedErr*  UnresolvedErr_new(Str* msg, Err* cause);
UnresolvedErr*  UnresolvedErr_newWithFormattedMsg(const char* msgFormat, ...);


/* [sys::UnresolvedErr] Type-system functions */
Type*           UnresolvedErr_initType(void);
VTable*         UnresolvedErr_initVTable(void);
void            UnresolvedErr_initStatic(void);


#endif
